[DanglingPtr][wallet] Prefer non-nullable states pt.2 #26343
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change touches several parts of wallets where we are passing pointers around that are expected to be in a valid state, and remain so for the duration of the lifetime of the object receiving them.
Historically, chromium had a guideline that required passing non-owning references as raw pointers. This has changed for a while now, and there are even supporting types like
raw_ref
for it. Raw pointers should be used for cases where flexibility is required about the lifetime of what is being pointed at. However, we should avoid what is in fact an anti-pattern, of passing pointers for the lifetime of an object, and then CHECKing the pointer for its validity.This change also removes certain uses of
std::unique_ptr
that suffers of the same issues.Resolves brave/brave-browser#42016
Resolves
Submitter Checklist:
QA/Yes
orQA/No
;release-notes/include
orrelease-notes/exclude
;OS/...
) to the associated issuenpm run test -- brave_browser_tests
,npm run test -- brave_unit_tests
wikinpm run presubmit
wiki,npm run gn_check
,npm run tslint
git rebase master
(if needed)Reviewer Checklist:
gn
After-merge Checklist:
changes has landed on
Test Plan: